home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / TinyGL / ami / content / ad709 / tinygl / src / api_arrays.c next >
Encoding:
C/C++ Source or Header  |  2002-08-15  |  1.8 KB  |  80 lines

  1. #include "arrays.h"
  2.  
  3.  
  4. void GLAPIENTRY glEnableClientState(GLenum array) {
  5.     GLParam p[2];
  6.     p[0].op = OP_EnableClientState;
  7.  
  8.     switch(array) {
  9.     case GL_VERTEX_ARRAY:            p[1].i = VERTEX_ARRAY; break;
  10.     case GL_NORMAL_ARRAY:            p[1].i = NORMAL_ARRAY; break;
  11.     case GL_COLOR_ARRAY:            p[1].i = COLOR_ARRAY; break;
  12.     case GL_TEXTURE_COORD_ARRAY:    p[1].i = TEXCOORD_ARRAY; break;
  13.     default:                        assert(0); break;
  14.     }
  15.  
  16.     gl_add_op(p);
  17. }
  18.  
  19.  
  20. /* */
  21. void GLAPIENTRY glDisableClientState(GLenum array) {
  22.     GLParam p[2];
  23.     p[0].op = OP_DisableClientState;
  24.  
  25.     switch(array) {
  26.     case GL_VERTEX_ARRAY:            p[1].i = ~VERTEX_ARRAY; break;
  27.     case GL_NORMAL_ARRAY:            p[1].i = ~NORMAL_ARRAY; break;
  28.     case GL_COLOR_ARRAY:            p[1].i = ~COLOR_ARRAY; break;
  29.     case GL_TEXTURE_COORD_ARRAY:    p[1].i = ~TEXCOORD_ARRAY; break;
  30.     default:                        assert(0); break;
  31.     }
  32.  
  33.     gl_add_op(p);
  34. }
  35.  
  36.  
  37. /* */
  38. void GLAPIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
  39.     GLParam p[4];
  40.     assert(type == GL_FLOAT);
  41.     p[0].op = OP_VertexPointer;
  42.     p[1].i = size;
  43.     p[2].i = stride;
  44.     p[3].p = (void *) pointer;
  45.     gl_add_op(p);
  46. }
  47.  
  48.  
  49. /* */
  50. void GLAPIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
  51.     GLParam p[4];
  52.     assert(type == GL_FLOAT);
  53.     p[0].op = OP_ColorPointer;
  54.     p[1].i = size;
  55.     p[2].i = stride;
  56.     p[3].p = (void *) pointer;
  57.     gl_add_op(p);
  58. }
  59.  
  60.  
  61. /* */
  62. void GLAPIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) {
  63.     GLParam p[3];
  64.     assert(type == GL_FLOAT);
  65.     p[0].op = OP_NormalPointer;
  66.     p[1].i = stride;
  67.     p[2].p = (void *) pointer;
  68. }
  69.  
  70.  
  71. /* */
  72. void GLAPIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
  73.     GLParam p[4];
  74.     assert(type == GL_FLOAT);
  75.     p[0].op = OP_TexCoordPointer;
  76.     p[1].i = size;
  77.     p[2].i = stride;
  78.     p[3].p = (void *) pointer;
  79. }
  80.